from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from info import create_app, db, models
from info.models import User

'''
manage.py是程序启动的入口，只关心启动的相关参数以及内容，
不关心具体该如果创建app或者相关业务逻辑
'''

# 通过指定的配置名字创建对应配置的app
# create_app就类似与工厂方法
app=create_app('development')

manager=Manager(app)
Migrate(app,db)
manager.add_command('db',MigrateCommand)

@manager.option('-n','-name',dest='name')
@manager.option('-p','-password',dest='password')
def createsuperuser(name,password):
   if not all([name,password]):
      print('参数不足')

   user=User()
   user.nick_name=name
   user.mobile=name
   user.password=password
   user.is_admin=True

   try:
      db.session.add(user)
      db.session.commit()
   except Exception as r:
      db.session.rollback()
      print(r)
      return '失败'

   print('添加成功')



if __name__ == '__main__':
   app.run(host='0.0.0.0')
   # print(app.url_map)
   # manager.run()